Spectrum shaping with parity sequences

ABSTRACT

A method is disclosed for shaping a Fourier transform spectrum of an array of input data. The method may be used to produce a Fourier spectrum in which the moduli of the Fourier coefficients are all equal to one predetermined constant. This makes possible hologram synthesis with phase only transmittance and is an improvement over kinoforms where amplitude information must be discarded. The present method rests on the introduction of an auxiliary parity array of data which is interlaced with the true data array to be stored, the parity array being chosen so that a Fourier spectrum of the combined data and parity arrays has a level spectrum. In an image reconstructed from the hologram, optical detectors may be positioned to detect only the reconstructed data points. Other spectrum shaping is also possible including phase quantization.

[451 May 20, 1975 United St I 1 Chu [ SPECTRUM SHAPING WITH PARITY SEQUENCES [75] Inventor: David C. Chu, Menlo Park, Calif.

[73] Assignee: Hewlett-Packard Company, Palo Alto, Calif.

[22] Filed: July 30, I973 21 Appl. No.: 383,639

[52] U.S. Cl. 350/35; 350/162 SF [51] Int. Cl. G02b 27/00 [58] Field of Search 350/35 [56] References Cited UNITED STATES PATENTS 3,606,515 9/l97l Hirsch et al. 35013.5 3,623,786 11/197] Dammann 350/35 OTHER PUBLICATIONS Chu et al., Spectrum Shaping with Parity Sequences," Applied Optics, Vol. I 1, No. 8, Aug. 1972, pp. l,7l6-l,724.

Chu et al., Multiemulsion ON-Axis Computer Generated Hologram," Applied Optics, Vol. 12, No. 7, July 1973, pp. l,386-l,388.

Haskell et al., New Coding Technique for Computer Generated Holograms," Applied Optics, Vol. ll, No. 11, Nov. 1972, pp. 2,7l22,714.

Primary Examiner-John K. Corbin Attorney, Agent, or Firm-Ronald E. Grubman [57] ABSTRACT A method is disclosed for shaping a Fourier transform spectrum of an array of input data. The method may be used to produce a Fourier spectrum in which the moduli of the Fourier coefficients are all equal to one predetermined constant. This makes possible hologram synthesis with phase only transmittance and is an improvement over kinoforms where amplitude information must be discarded. The present method rests on the introduction of an auxiliary parity array of data which is interlaced with the true data array to be stored, the parity array being chosen so that a Fourier spectrum of the combined data and parity arrays has a level spectrum. In an image reconstructed from the hologram, optical detectors may be positioned to detect only the reconstructed data points. Other spectrum shaping is also possible including phase quantization.

16 Claims, 12 Drawing Figures CHOOSE A, CHOOSE s|e- Hm PHASE tn N Fm 2N POINT SPECTRUM G POINT E m com: DPT (level) 0 I 2N pomr DFT CHECK PARITY SEO.

p M m f NPOINT n INTER- Y on" u LACE iirm EXP SHEET 10F 9 IMAG REAL

RADIUS A iurel IMAG REAL

RADIUS=A r i ure 2 REAL IMAG

i ure 3 PATim umzolars SHEET u [If 9 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX mDJDQQZ MAGNITUDE PHASE PATENIEUamzmsrs 3.884.546

SHEET 5 BF 9 x=doto "purity x x x X --x-x x x x I x-xxx---xx x x x x x x x x x x X X x x x X x x x l I l I SEQUENCE INDEX Ti ure 6 (a) PATENTEUHAYZOIIQYS SHEET 8 OF 9 x: data "parity SPECTRUM INDEX i ure 6 (b) SHEET 7 or 9 x= data "purity mop-.2045- INDEX SEQUENCE i ure 7 (G) PATENTEDHAYZOIBYE SHEET 80F 9 X: dO'O SPECTRUM INDEX igure 7 (b) PATENTEDHAYZOIBYS 3, 884,546

sum 9 [1F 9 FIG. 8

FIG. 9

1 SPECTRUM SHAPING WITH PARITY SEQUENCES BACKGROUND OF THE INVENTION This invention is concerned with the problem of producing a Fourier transform of a set of discrete data points in such a way that the resulting Fourier transform spectrum is level. The invention has particular utility in connection with the generation of holographic memories with a digital computer. Such a hologram may be used to store information associated with a data matrix usually of ones and zeros but not limited to such representing digital data such as one or more alphanumeric characters or other bit patterns. Subsequent illumination of the computer generated hologram with coherent light will produce a matrix of light and dark spots reproducing the data pattern. For many applications, holographic storage is preferable to optical storage of the raw data, since localized defects on the storage medium will be distributed throughout the final image, rather than degrading totally portions of the data as would occur with direct storage. This is especially true in applications where the data to be stored is of a very small size, so that dust particles or scratches would obliterate large sections of the data. Additionally, if the data is stored on a hologram, it is possible to add redundancy by repeating the hologram in an array. Since Fourier transform holograms are translationally invarient, illumination of the array will produce a single well defined image. On the other hand, if raw data itself were to be stored redundantly, it would require elaborate detection schemes to produce a single final image. Since the hologram is translationally invarient, it is an additional advantage that positioning of the hologram is not critical for the reconstruction. On the other hand, if raw data were to be stored and optically displayed using detectors, the detectors would have to be positioned with an accuracy about equal to the spacing of the data bits in the matrix.

Computer generated holograms are typically constructed by computing the Fourier (or Fresnel) transform of a dot matrix representing the data to be stored. Thus, the original image is represented in the Fourier transform by a sequence of Fourier coefficients, each with an amplitude and a phase. Holograms are constructed from the stored amplitudes and phases by generating plots of the amplitude and phase information, and then exposing photographic films to the plotted patterns. Since the amplitude and phase information are independent, it is in principle necessary to produce two independent photographic plates, one of which will affect the amplitude of an illuminating beam without differentially retarding the phase, and the other of which will retard the phase without affecting the amplitude. However, such a direct scheme is highly impractical since there are numerous difficulites in aligning the two plates to produce a well defined reconstructed image.

In the prior art, there are known several approximations to an exact hologram which avoid the abovementioned problem. One method is disclosed in an article entitled Computer-Generated Binary Holograms" by B. R. Brown and A. W. Lohmann, in the IBM Journal of Research and Development, March l969. ln these binary holograms the Fourier amplitudes and phases are stored on a hologram which is divided into cells. Each cell includes an opaque background with a transparent rectangular space. The area of the rectangular space is proportional to a Fourier amplitude, while the position in the cell is related to the associated Fourier phase. Upon subsequent illumination by a coherent light source, the first order diffraction from the hologram reproduces an image from the recorded amplitudes and phases. Although the binary hologram has the advantage of ease of manufacture, reconstruction of the image is extremely inefficient since most of the illuminating energy goes into an unwanted zero order image. Additionally, since the amplitude and phase information are quantized into discrete points depending on the finite plotter resolution, the reconstructed image will not be an accurate reproduction of the original data. An additional disadvantage of this method is that each Fourier coefficient occupies a finite number of resolution points which make up a cell, a problem which is exacerbated if an attempt is made to provide better resolution by increasing the number of resolution points comprising a cell.

Another technique is disclosed in an article entitled The Kinoform: a new Waveform Reconstruction Device by L. B. Lesem, P. M. Hirsch, and J. A. Jordan, .lr., in the IBM Journal of Research and Development, l3, page I50 (1969). The basis of a kinoform is to quantize the Fourier amplitudes to a single constant level. Thus, in a kinoform, only the information carried by the Fourier phases is stored. Typically, a plotter records the computer generated phase information, which is then photographed. The photographic emulsion is developed and bleached to produce surface relief phenomena and a non-uniform refractive index. The combination of relief and non-uniform refractive index serves to retard the phase of a coherent illuminating source, without significant amplitude attenuation. Kinoforms are not entirely satisfactory, however, since the quantization of the Fourier amplitudes to a single level leads to a loss of fidelity of the reconstructed data. Another problem is that the intensity of the bright spots in the reconstructed image is not uniform, but depends on the relative number of bright spots making up the image; i.e., a large number of bright spots will appear dim, while a small number of bright spots will appear excessively bright, an undesirable property in digital data application.

In the prior art, a technique commonly referred to as phase coding has been used to improve the fidelity of images reconstructed from a kinoform. The technique replaces each 1 in the data to be stored by an exponential function of unit magnitude and a particular phase. The phases are chosen to result in a Fourier spectrum whose amplitudes are approximately constant, i.e., the dynamic range of the amplitude spectrum is reduced. This method leads to improved fidelity of the hologram, but does not achieve optimum results, since the resulting Fourier spectrum is not flat, but still extends over a definite range. Additionally, the phase coding method has no effect on the problem of non-uniform intensity as a function of the Hamming weight of the data (i.e., the number of ones).

Kinoforms are advantageous, however, in that the reconstruction is accomplished on axis; i.e., an incident plane wave produces a single central image, so that all of the illuminating energy is directed into a useful final image. Additionally, each resolution spot on the kinoform represents one Fourier coefficient resulting in very economic use of film resolution. (For distinct dots in the reconstructed data, however, the kinoform patterns must be replicated as is with any other hologram.)

It would thus be desirable to have a hologram with the efficiency and resolution of a kinoform, but with improved fidelity and uniform intensity per bit of the reconstructed data points.

SUMMARY OF THE INVENTION In accordance with the preferred embodiments, the present method provides for the leveling of a Fourier transform spectrum and may be utilized in any application where a level spectrum is desired. The method is especially useful in connection with holograms, and in particular in connection with phase-type holograms. The method interlaces an array of data points to be stored with another array, called a parity array, in such a way that the Fourier transform of the combined data and parity arrays has a level spectrum; i.e., the moduli of the Fourier coefficients of the combined array are all equal to one predetermined constant. This is accomplished by demanding that the modulus and phase of each Fourier coefficient of the parity array be added vectorially to the corresponding Fourier coefficient of the data array, so that the resultant complex number lies on a predetermined circle in the complex plane. A phase type hologram may then be used to store the phases of the Fourier coefficients. In an image reconstructed from the hologram, the data points and parity points will be interlaced, so that if optical detectors are placed only at the expected positions of the data points, the parity points will not appear. In various of the embodiments of the method, the combined Fourier transform coefficients are rearranged in the hologram matrix to displace the parity bits in the reconstructed image into a region away from the data bits. In yet another embodiment, the method is used to quantize the phases of the Fourier spectrum to a few discrete levels.

DESCRIPTION OF THE DRAWINGS FIG. 1 is a geometric representation of an original Fourier transform component and a parity component chosen for spectrum shaping.

FIG. 2 shows several of the components of a shaped spectrum.

FIG. 3 illustrates use of the method for phase quantization.

FIG. 4 is a block diagram illustrating the steps used in obtaining a level spectrum from data sequence.

FIG. 5a 'shows magnitudes and phases of an interlaced data-parity sequence for leveling the spectrum of a data sequence I l 101 l l lOl l l lOl l}.

FIG. b shows the moduli and phases of the leveled spectrum.

FIG. 6a shows magnitudes and phases of an interlaced data-parity sequence for leveling the spectrum of a data sequence I IOOOOIOOI IOOOOIO}.

FIG. 6b shows the moduli and phases of the leveled spectrum.

FIG. 7a illustrates the magnitudes and phases of an interlaced data-parity sequence that quantizes the phases of the spectrum of the data sequence 1101111011110110l.

FIG. 7b illustrates the moduli and phases of the phase-quantized spectrum.

FIG. 8 shows a data-parity display reconstructed from a hologram made in accordance with one embodiment of the invention.

FIG. 9 is a data-parity display reconstructed from a hologram made in accordance with another embodiment.

DESCRIPTION OF THE INVENTION We consider the problem of data processing by means of Fourier transformation, where it is necessary to quantize the magnitudes or phases in the Fourier domain into a discrete set of values. We discuss a method for digitally generating a spectrum which provides a suitably shaped Fourier spectrum, whose inverse transform contains the original data in known locations unpertrubed.

We assume that a data sequence consists of an array of data points, which may be, e.g., an array of ones and zeros. The method to be discussed rests on the introduction of an auxiliary "parity" sequence of data (generally not binary), which is interlaced with the true data sequence. We will discuss the use of a parity sequence to shape the Fourier spectrum which includes, e.g., quantizing the Fourier amplitudes to a single level if desired, or to a discrete set of levels, or alternately to quantize the Fourier phases. First, however, we present general background techniques relevant to both cases, using as an example a one dimensional array to be stored.

Consider a data sequence to be stored of N complex numbers (f,,}, where n O,l,..., N I. We represent the discrete Fourier transform (DFT) of f,.} by a sequence {F where m 0,1 ,...,N l. The relation between {f,,} and IF,,,} is as follows:

We say that{f,, is the inverse DFT of {F Let IF be a sequence of 2N complex numbers that is simply the sequence {F repeated once, i.e.,

Thus the sequence f, consists of the sequence {f,,} interlaced with zeros.

Continuing, let {P,,,) be a sequence of N complex numbers and define a sequence IP,,,' I to be a sequence of 2N complex numbers such that (:1 even) it is shown in Appendix A that{p,,}, the inverse DFT of lP is given by n=0.l.....2N-l. Pin-4v:

Here (p, }is the N-point inverse DFT of the sequence {P exp[i(1rm/N)] where m 0,l,...,N 1. We refer to the sequence (P, as the parity sequence and note that {p,, is simply the parity sequence interlaced with zeros. Furthermore, the sequences {f,,} and {p,,'} are seen to be noninterfering, i.e., one is zero where the other is non-zero and vice versa.

Finally, we let {G,,,} be a 2N-point sequence such that This sequence has an inverse DFT (g, given by Note that, by virtue of the noninterfering nature of f, p,,, we have Thus, the spectral sequence {P in no way influences the values of{g,,}for n even. However, the values of g, for n odd are directly determined by the spectrum {pm'}. Therefore, the procedure may be used to arbitrarily shape a spectrum without perturbing the original data array. In every case, the individual spectral components G j satisfy the relation full Par-n11 (9) where A is a prechosen constant. We shall assume that the phase distribution across the spectrum may take on any desired values.

A solution to this problem can always be found provided we require A to be greater than or equal to the largest value of |F,,,| in the data spectrum. i.e.,

A 3 F (m=0.l.....N-l). (ID) If a certain amount of distortion of the original data can be tolerated in the recovery, greater efficiency can be obtained by choosing an A which is larger than a substantial number of the IF, I. When A satisfies Eq. l0),

the solution can be directly seen by referring to FIG. I, which shows a circle 11 of radius A in the complex plane defined by two axes labeled Real and Imaginary. A vector 13 is shown which represents a typical one of the complex Fourier coefficients F m of the data sequence, Another vector 15 represents the associated Fourier coefficient P of the parity sequence. We choose P, orthogonal to F and of just sufficient length so that the sum lies on a circle of radius .4.

FIG. 2 shows a vector 17 representing a complex Fourier coefficient G,,,, the sum of F and P,,,. A corresponding coefficient G N in the second half of the sequence {G is represented by a vector 19, which is the sum of the vectors l3 and 21 representing the corresponding coefficients F',,, N and P, N respectively.

Recalling from Eq. (4) that P,,, changes sign for m N l, we find that 6,, and G N have the same length A but different angles, as illustrated. The general solution for the spectral components P that level the spectrum is (1 where F i 0. If F,, 0, P is chosen to have length A with any arbitrary angle 7,

lt should be noted that the sign ambiguity in the expression for P reflects the fact that we are free to choose P,, to lead or lag F,,, by However, once a sign has been chosen for P,,,, we must return to Eq. (4) to construct P Because of the two solutions possible for each P there are 2 different ways to choose a parity sequence that will level the spectrum to amplitude A.

Later, we will discuss a particular way to select the parity sequence which tends to move the parity bits away from the data bits in a display reconstructed from a hologram constructed in accordance with the present method.

From the simple geometry illustrated in FIG. 2, we may express the values of the 6,, directly as follows:

The choice of the upper set of signs in Eqs. (12) or 14) is equivalent to choosing P,,, to lead F and the lower set of signs the reverse.

If F happens to be zero, the phase of P is arbitrary, but once chosen we have The above discussion demonstrates the mathematical solution to the problem of spectrum leveling with a parity sequence.

Before we discuss implementation of the spectrum leveling technique, we describe another use of parity sequences for spectrum manipulation; in particular we consider a choice of a parity sequence that quantizes the phases of the spectral components onto a discrete set of allowable values. FIG. 3 shows a complex plane defined by a Real axis and an Imaginary axis. Two radial lines are shown at angles 41 and Ill to be defined below. Suppose the phase of all spectral components G are to be quantized to allowable values, b k O,l ,...K I. We require that the llJ obey the following restrictions:

Under these restrictions, the phase of F,,, will be between two quantized phase levels ill and 11: where k h, and the two angles are less than 1r rad apart, as illustrated in FIG. 3. A parallelogram is constructed using the two ill-lines for the two adjacent sides and F m as a half diagonal. Then P,, is chosen to be half of the other diagonal; again there are two possible choices corresponding to the two possible halves. The intersections of this second diagonal with the ill-lines determine the values-of G and 6,,

Mathematically, if F, lF l exp (i6,,,) and there exist two quantized phases III and 111,, such that lll 0,, 11,, and 1b,, tlr 11', then straightforward geometry yields the spectral components G las follows:

The magnitudes and phases of the parity spectrum P are found to be given by where m runs from to N I, the i signs apply for the two possible choices of direction of P and the angle a is given by i k"L-) ('9) As usual, the simple relation G, F,,, P,,,' holds.

The special case of quantization along the Real and Imaginary axes is particularly interesting. For this case, K 4 and 41 1((11/2). The parallelogram of FIG. 3 becomes a rectangle, with G,,, and G becoming twice the Imaginary and Real parts of F ,,.k respectively. Thus The above discussion has demonstrated that, by proper choice of a parity sequence, it is possible to construct a spectrum with phases that lie only on a discrete set of allowable values. More general control of the spectrum can be achieved if desired. However, of the four quantities |G,,,|, argG,,,.| G I, argG it is possible to control at most two in a predetermined fash- IOn.

While the above discussions have been restricted to one-dimensional data sequences{f,,}, the results can be generalized to two-dimensional sequences. This capability is of considerable interest in holography, for the data'to be stored often appear in a two-dimensional format. Let the data sequence in this case be represented by{f,,, where n =0,l,...,N- l and q =O,I,...,Q l. The two dimensional DFT of this sequence is defined q 0,I,...,Q -1,

Let lF,,, be a N X2Q sequence defined by Further, let lP,,. ,l be an N X 2q sequence such that for each m in (O,I,...,N l),

where P,,. is to be chosen to achieve the desired spectral manipulation.

It is shown in Appendix B that l f,, the inverse DFT of iF,,, I, has the properties fine (23) for n 0,l,...,N l and q O,I,...,2Q 1. Hence the data and parity sequences again do not interfere.

Adding P,,, and F and performing an inverse DFT, we obtain an N X 2Q sequence in which rows of data sequences are interlaced with rows of parity sequences. Interchanging n and q in the analysis leads to columns of data sequences interlaced with columns of parity sequences. Alternately, extending the hologram to 2N by 2Q by letting G,,,, G,,. r Q F,,, r P,,, r and G Q G, F,,, r P,,, data and parity are interlaced in checkerboard fashion. In the general case, the spectrum G can be extended to order yN X Q (y and z are arbitrary integers). In this case, the relationship among the spectral components (1,, corresponding to Eq. 8 of the one dimensional method y--]. 2-]. 1 mp Y Z m 1N, p jQ in 0,1, ,N 1

Thus, if an image is to be reconstructed from a hologram utilizing the present technique, detectors placed only at positions corresponding to the known locations of the data bits will ignore the parity sequence entirely.

For spectrum leveling we choose as before (26) Again the constant A must be chosen such that As a point of some interest, we note that for the case Q 1, corresponding to a one-dimensional data sequence, the combined sequence has two rows, one the original data sequence and the second the parity sequence. In this case the two sequences are separated, rather than interlaced as in the one-dimensional case. The above results can be generalized to dimensions higher than two.

For the case of greatest interest here, the original data to be stored consist of a sequence of real-valued binary ones and zeros. The DFT of such a sequence often yields a spectrum with a large dynamic range, the

0 component typically being extremely large by comparison with other components. Such an occurrence has an undesirable effect on the parity sequence method for spectrum leveling, for the spectrum must be level to a value A max I F,,,l.

As a consequence of the high required value ofvt, most of the optical intensity incident on the hologram during the reading operation is deflected into the parity sequence, with only a small fraction of the intensity appearing in the data bits that fall on the detectors. Some method for minimizing the intensity of the parity sequence (i.e., minimizing the maximum value of F,,,) is therefore desired.

A partial solution to this problem is obtained by phase coding the data bits in order to prelevel the spectrum as far as possible before applying the parity sequence method. Thus we replace each binary l in the data sequence with a complex number exp(j,,), where the (1),, are chosen in order to minimize the dynamic range of the spectrum. Since the detectors read only the intensity of the data bits, the sequence of binary zeros and ones recovered is not directly affected by the phase coding. To determine the phases (1:, which will pre-level the Fourier spectrum, we usea method developed by M. R. Schroeder in IEEE Trans. Inform Theory lT-l6, (1970). In accordance with Schroeders method, we choose the 4),, as follows:

12... N -1 2r2(nj)p 1-0 Nodd 2g n-l 21 (n jlp, n n I'Q'HMV N even where N-l .1 '2 P1 lf-l For the case of a sequence of all ls, the above coding requires (30) for N odd. This particular phase coding levels the spectrum perfectly if N is odd. For N even, the DFT can also be leveled exactly if we choose For binary sequences that do not contain all l's. the above phase coding methods will not perfectly level the DFT. However, computer experiments have shown that even for such sequences the above phase coding method generally accomplishes a considerable reduction of dynamic range in the DFT. Thus it is generally advisable to precede the parity sequence construction by phase coding as in Eq. (28).

For two dimensions a useful phase code is to multiply each data point f,,, q by the function exp (i21mq/N) for an N X N data block.

To illustrate the methods of spectrum leveling and spectrum phase quantization by the parity sequence method, we consider two sixteen-bit binary sequences {U land {V} as follows:

{U} {1101111011110110 v {i000010011000010 These sequences have Hamming weights of i2 and 5, respectively. However, in spite of their very different weights, we shall find parity sequences that level their spectra to the same moduli. The level chosen for the spectra is (32), which is (2)" larger than (16), the modulus of the preleveled DFT of a sequence consisting of sixteen ones.

A block diagram outlining the operations performed is shown in FIG. 4. Each data sequence is phase coded in accord with Eq. (28), following which N-point DFT (N= 16) is performed. From this DFT, the leveled 2N- point spectrum {G is formed with Eq. 12) using the upper set of signs and a value of (32)" for A.

As a means of checking the results, the spectrum {F,,,} is also used to generate {P,,,} with Eq. (1 l Each P is multiplied by exp[i(1,rm/N)]. following which an N-point inverse DFT is performed to obtain the parity sequence. The parity sequence and data sequence are then interlaced. A 2N-point DFT of the interlaced sequence is performed, and the result is compared with the spectrum {G calculated previously. If the results are identical. the spectrum {G,,,}is accepted as the correct result.

For spectrum phase quantization. Eq. (17) replaces Eq. l2), selection of the quantized phases tin,- replaces selection of A, and Eq. (18) replaces Eq. (ll).

FIG. shows the results of applying the above procedure to the sequence iU In FIG. 5(a), the magnitude and phase of the interlaced data-parity sequence are shown. FlG. 5(b) shows the modulus and phase of the spectrum 6,, which has been leveled to value (32). FIGS. 60 and b show similar results for the sequence {V which again has had its spectrum leveled to value (32)"". The data bits have identical intensities for binary ones in both cases.

FIG. 7 shows the results obtained from the phase quantization procedure. The phase quantization levels are chosen to be those of the cube roots of unity. The phases of the spectral components have been successfully confined to the three levels chosen.

The spectrum shaping techniques discussed above have been implemented to obtain computer-generated phase-type holograms. In one series of experiments, we selected as input data a matrix representation consisting of an array of binary ones and zeros in the form of the letters A. B. C, and D. These characters were embedded in a field of 32 X 32 elements. Phase coding was first applied to the array to reduce the dynamic range of the spectrum; in particular each data value f was multiplied by expli2rmq/N], where N is the actual size of the data block enbedded in the 32 X 32 array. The phase coded array was then Fourier transformed using a two dimensional Fourier transform program on a digital computer. to produce a 32 X 32 array of complex Fourier coefficients.

Separating amplitude and phase information produces two 32 X 32 matrices, one with amplitude elements A and the other with phase elements (1), all of the phases lying between 0 and 2.

To level the spectrum, we chose a constant A larger than the largest spectral modulus and generated an acute angle qb for each spectral component, where is defined as the principal arc cosine of A /A We then generated a set of 64 X 64 constant modulus complex numbers, the elements ofa 64 X 64 hologram (i.e., a 2 X 2 expansion of the original 32 X 32 matrix size) by assigning values to the hologram elements G in accordance with the following:

To add redundancy we replicated the entire 64 X 64 block 2 X 2 times. The resulting phase pattern (the amplitude is constant) composed of the phase arrays of G's was then displayed on a CRT under computer control. The computer controlled the exposure contributed by each CRT spot by varying the time duration that the electron beam dwelled on that spot. In practice we used a 2 X 2 grid of points to represent each phase element. resulting in a total of 256 X 256 spots for the entire hologram.

Various processes are possible for synthesizing a physical hologram from the CRT display. One method we have used is to photograph the CRT display with a standard oscilloscope camera using, a e.g., Polaroid print type 47 film. The resulting prints were later photographically reduced with a 35 mm camera and spectroscopic film such as Kodak 649F. During processing, the film was subjected to a prehardener and then bleached to produce a hologram. An alternate method we have used is to photograph the phase pattern on the CRT directly using a 35 mm camera with film such as Kodachrome ll color reversal film. The photograph was taken using a Cyan filter mounted on a cardboard tube which also served to block ambient light. Phase matching over a 0 to 211' range was accomplished by calibrating the exposure times using sawtooth displays on the CRT. With the proper exposure to the CRT, the resulting density to Cyan light on the process film is proportional to the Fourier phase values. To complete production of the hologram, the exposed film was later reexposed to a flat white object through a No. 29 wratten red filter. The film was then developed by standard commercial developing processes. Finally black tape (or other mechanical means) was used to block off regions of the transparency outside the region of phase exposure, resulting in a final phase-type hologram. The holograms so produced were used to reconstruct the original image by illumination with 6,328 A light from a HeNe laser. Since the hologram has been previously exposed to red light, the red illuminating light is not significantly attenuated; however the Cyan absorbing emulsions exert an influence on the phase of the transmitted light, presumably through surface relief and index of refraction variations. The desired reconstructed image was obtained in the focal plane of a positive lens where it appeared centered about the optical axis. With this particular arrangement of the hologram elements in the hologram, the parity bits appear in the outer regions of the data field in the reconstruction. Visual interference between parity and data bits is thus minimized. This is demonstrated in FIG. 8. If the reconstructed image light were to be detected by light detectors positioned only at the row positions where data was anticipated rather than photographed, the parity bits would not be present in the final image.

The hologram may also be constructed from the hologram elements G using a procedure we call a synthetic Fourier coefficient method. In this method the holographic array is constructed according to the following:

um; unman 0 3 p =0,l,...,3l um. ama: n I ne t The reconstructed parity points again appear toward the outer regions of the field while the data appears concentrated in the central regions of the field. However, the intensity of the data points is multiplied by a cosine type function which is unity near the center and decays to zero at the outer edges. Thus, since the data is concentrated near the center it will be relatively unaffected by such a function. The parity bits, on the other hand, are multiplied by a sine type function which is zero near the center and increases to unit in the outer regions. Any parity bits which are positioned near the data are thus diminished in intensity making for a better visual appearance. An example is illustrated in FIG. 9.

Other configurations have also been used, eg governed by:

Appendix A The inverse DFT of the 2N-length sequence lF can be calculated as follows: We note where we have used Eq. (2). Making the substitution m m N in the second summation,

II CV6",

n odd. (A3) Proceeding in a similar fashion for the sequence {P,,'}, we use Eq. (4) to obtain Appendix B Our goal is to calculate the two-dimensional inverse DFT of the sequence lF,,, defined by Eq. (22). The N X 2Q inverse DFT of this sequence is pin-'0 ruU Substituting Eq. (22) for F,,. we obtain after some manipulation for n 0.1,...,N I.

We proceed in a similar fashion with the sequence {P,,, Thus Following the procedure used in Eq. (A4), we obtain q even,

where n 0.1 ....,N l and I claim: 1. A method of synthesizing an output array of elements in which an input two-dimensional N X Q data array is embedded, each element of said data array being indicative of a complex numberf said method comprising the steps of:

producing an N X Q discrete Fourier transform spectrum array of said input data array, each element of said Fourier transform spectrum array being a complex number F,,,

producing an extended spectral array of order (yN) X Q), y and z being integer numbers, at least one of y and 2 being greater than unity, each element of said extended spectral array being a complex number G having a modulus and a phase each being a preselected value, subject to a condition among the elements of said extended spectral array given by an equation to be satisified for a substantial number of F,,,

and

producing an inverse Fourier transform of said extended spectral array to generate an output array of order (yN) X (2Q) in which a representation of said input data array is embedded.

2. A method as in claim 1 including the step of phase coding said elements f,, q of said data array before producing said discrete Fourier transform spectrum array.

3. A method as in claim 1 wherein the step of producing an extended spectral array comprises the step of producing an extended spectral array whose elements all have the same modulus.

4. A method as in claim 3 including the step of phase coding said elements f,, q of said data array before producing said discrete Fourier transform spectrum array.

5. A method as in claim 3 wherein the step of producing an extended spectral array comprises the steps of:

determining a constant real number A greater than the modulus of a substantial number of F,,,,, of said discrete Fourier transform array; and

producing an extended spectral array wherein those elements which are associated with said substantial number of elements F satisfy equations thereby producing an extended spectral array whose elements all have the same modulus.

6. A method as in claim 5 including the step of phase coding said elementsf,, of said data array before producing said discrete Fourier transform spectrum array. 6

7. A method as in claim 1 wherein the step ofproducing an extended spectral array comprises the step of producing an extended spectral array wherein each element of said extended spectral array has a phase equal to one of a preselected plurality of values.

8. A method of synthesizing an output array of elements in which an input two-dimensional N X Q data array is embedded, each element of said data array being indicative of a complex number f,. said method comprising the steps of:

producing an N X Q discrete Fourier transform spectrum array of said input data array. each element of said Fourier transform spectrum array being a complex number F determining a constant real number A greater than the modulus of a substantial number of elements F mp of said discrete Fourier transform array;

producing an extended spectral array of order (2N) X (2Q), each element of said extended spectral array being a complex number G and those elements which are associated with said substantial number of F,,., satisfy the following equations:

where 0, arg(F,, and (11, Cos" T- producing an inverse Fourier transform of said extended spectral array to generate an output array of order (2N) X (2Q) in which a representation of said input data array is embedded.

9. A method as in claim 8 including the step of phase coding said elementsf q of said data array before producing said discrete Fourier transform spectrum array.

10. A method for making a hologram of a twodimensional N X Q data array comprising the steps of:

producing an N X Q discrete Fourier transform spectrum array of said input data array, each element of said Fourier transform spectrum array being a complex number F,,.

producing an extended spectral array of order (yN) X Q), y and 1 being integer numbers, at least one of y and z being greater than unity, each element of said extended spectral array being a complex number G,,, having a modulus and a phase each being a preselected value, subject to a condition among the elements of said extended spectral array given by an equation satisfied for a substantial number of F y-l 2-1 1 rmp 3 2 Z J and recording a representation of said extended spectral array on a transparent medium.

11. A method for making a hologram as in claim 10 including the step of phase coding the elements of said data array.

12. A method for making a hologram as in claim 10 wherein the step of producing an extended spectral array comprises the step of producing an extended spectral array whose elements all have'the same modulus.

13. A method as in claim 12 including the step of phase coding the elements of said data array.

14. A method as in claim 12 wherein the step of producing an extended spectral array comprises the steps of:

determining a constant real number A greater than the modulus of a substantial number of elements F of said discrete Fourier transform array; and

thereby producing an extended spectral array whose elements all have the same modulus. 15. A method as in claim 14 including the step of phase coding the elements of said data array.

producing an extended spectral array wherein those method for making a hologram as claim elements which are associated with said substantial wherem the step of lecordmg 'f represemauo" of Sam number f eemems Fm i f equations extended spectral array comprises the steps of:

displaying a representation of said extended spectral array by means of an optical display; and I photographically reproducing an image of said reprel 5 sentation onto a transparent medium.

UNITED STATES PATENT AND TRADEMARK OFFICE CERTIFICATE OF CORRECTION PATENT NO. I 3 884, 546

DATED I May 20, 1975 INV ENTORB) 1 David C. ChU. Page 1 Of 2 It is certified that error appears in the ab0ve-identified patent and that said Letters Patent are hereby corrected as shown below:

Column 5, line 9, after "sequence", {P should read {p line 33, {p should read {P line 49, "P should read {P Column 7, Eq. (16) that portion reading O gb should read 0 1p Eq. (18) those two portions reading "111 should read rp Eq. (19) should read -l sinwmflpk) (kg-Cot sin (11) sin m ri s W ar -w --7 Column 8, line 39, "2g" should read 2Q Eq. (22) that portion reading "r=QQ+1" should read r=Q,Q+l Eq. (23) that portion reading "{n, (q/2) should read Column 12, line 14, before "e.g.," delete a 

1. A method of synthesizing an output array of elements in which an input two-dimensional N X Q data array is embedded, each element of said data array being indicative of a complex number fn, q, said method comprising the steps of: producing an N X Q discrete Fourier transform spectrum array of said input data array, each element of said Fourier transform spectrum array being a complex number Fm, p; producing an extended spectral array of order (yN) X (zQ), y and z being integer numbers, at least one of y and z being greater than unity, each element of said extended spectral array being a complex number Gm, p having a modulus and a phase each being a preselected value, subject to a condition among the elements of said extended spectral array given by an equation to be satisified for a substantial number of Fm, p
 2. A method as in claim 1 including the step of phase coding said elements fn, q of said data array before producing said discrete Fourier transform spectrum array.
 3. A method as in claim 1 wherein the step of producing an extended spectral array comprises the step of producing an extended spectral array whose elements all have the same modulus.
 4. A method as in claim 3 including the step of phase coding said elements fn, q of said data array before producing said discrete Fourier transform spectrum array.
 5. A method as in claim 3 wherein the step of producing an extended spectral array comprises the steps of: determining a constant real number A greater than the modulus of a substantial number of Fmp of said discrete Fourier transform array; and producing an extended spectral array wherein those elements which are associated with said substantial number of elements Fmp satisfy equations
 6. A method as in claim 5 including the step of phase coding said elements fn, q of said data array before producing said discrete Fourier transform spectrum array.
 7. A method as in claim 1 wherein the step of producing an extended spectral array comprises the step of producing an extended spectral array wherein each element of said extended spectral array has a phase equal to one of a preselected plurality of values.
 8. A method of synthesizing an output array of elements in which an input two-dimensional N X Q data array is embedded, each element of said data array being indicative of a complex number fn, q, said method comprising the steps of: producing an N X Q discrete Fourier transform spectrum array of said input data array, each element of said Fourier transform spectrum array being a complex number Fm, p; determining a constant real number A greater than the modulus of a substantial number of elements Fmp of said discrete Fourier transform array; producing an extended spectral array of order (2N) X (2Q), each element of said extended spectral array being a complex number Gm, p and those elements which are associated with said substantial number of Fm, p satisfy the following equations:
 9. A method as in claim 8 including the step of phase coding said elements fn, q of said data array before producing said discrete Fourier transform spectrum array.
 10. A method for making a hologram of a two-dimensional N X Q data array comprising the steps of: producing an N X Q discrete Fourier transform spectrum array of said input data array, each element of said Fourier transform spectrum array being a complex number Fm, p; producing an extended spectral array of order (yN) X (zQ), y and z being integer numbers, at least one of y and z being greater than unity, each element of said extended spectral array being a complex number Gm, p having a modulus and a phase each being a preselected value, subject to a condition among the elements of said extended spectral array given by an equation satisfied for a substantial number of Fmp.
 11. A method for making a hologram as in claim 10 including the step of phase coding the elements of said data array.
 12. A method for making a hologram as in claim 10 wherein the step of producing an extended spectral array comprises the step of producing an extended spectral array whose elements all have the same modulus.
 13. A method as in claim 12 including the step of phase coding the elements of said data array.
 14. A method as in claim 12 wherein the step of producing an extended spectral array comprises the steps of: determining a constant real number A greater than the modulus of a substantial number of elements Fmp of said discrete Fourier transform array; and producing an extended spectral array wherein those elements which are associated with said substantial number of elements Fmp satisfy equations
 15. A method as in claim 14 including the step of phase coding the elements of said data array.
 16. A method for making a hologram as in claim 10 wherein the step of recording a representation of said extended spectral array comprises the steps of: displaying a representation of said extended spectral array by means of an optical display; and photographically reproducing an image of said representation onto a transparent medium. 